热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

倍数|时针_CSS32D/3D转换手把手教你

篇首语:本文由编程笔记#小编为大家整理,主要介绍了CSS32D/3D转换手把手教你相关的知识,希望对你有一定的参考价值。2D/3D转换CSS

篇首语:本文由编程笔记#小编为大家整理,主要介绍了CSS3 2D/3D转换手把手教你相关的知识,希望对你有一定的参考价值。



2D/3D转换

CSS 转换(transforms)允许您移动、旋转、缩放和倾斜元素。


2D转换

主要通过transform 属性,该属性使用函数来定义的。

包含以下方法


1.位移


  • translate():translate(x)接受一个参数表示沿x轴位移x像素,沿y轴默认为0,接受两个参数translate(x,y)表示沿x轴位移的距离和沿y轴位移的距离
  • 分开写法translateX(x) 、translateY(y)
  • 数值可以为正负

例子:





效果:


2.旋转


  • **rotate(angle)😗*只有一个参数,表示选择的角度,单位用deg(度)
  • 2d空间只能围绕元素中心的z轴旋转
  • 参数为值则时针旋转,为值则时针旋转

例如:





效果:


3.缩放


  • scale(): 一个参数的时候表示同时在x轴和y轴两个方向缩放相同的倍数,两个参数表示分别xy轴方向缩放相应的倍数

例子:





效果:


4.变形


  • **skew():**表示沿x轴变形x角度,y轴默认为0,两个参数表示沿x轴变形x的角度,沿y轴变形y的角度。单位为deg(度)
  • 分开写法:skewX(), skewY()

例子:





效果:


5.matrix()

matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。

可以说是前面的合写

参数如下:

matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY())

6.转换中心

通过该属性transform-origin可以改变 旋转、缩放、变形的原点。默认为center,可以设置为关键字:top bottom center left right,也可以使用pxem百分比值位置的。

例如:把转换中心改为由左上角。然后选择90度

.item:active
transform-origin: left top;
transform: rotate(90deg);

效果:


3D转换

既然是3D,我们就知道肯定是一个立体的,那么就有了空间感觉。既有了x轴、y轴、z轴。

下表列出了所有 3D 变换属性:


属性描述
transform向元素应用 2D 或 3D 转换。
transform-origin允许你改变被转换元素的位置。
transform-style规定被嵌套元素如何在 3D 空间中显示。
perspective规定 3D 元素的透视效果。
perspective-origin规定 3D 元素的底部位置。
backface-visibility定义元素在不面对屏幕时是否可见。

CSS 3D 转换方法


函数描述
matrix3d(n,n,n,n,n,n, n,n,n,n,n,n,n,n,n,n)定义 3D 转换,使用 16 个值的 4x4 矩阵。
translate3d(x,y,z)定义 3D 转化。
translateX(x)定义 3D 转化,仅使用用于 X 轴的值。
translateY(y)定义 3D 转化,仅使用用于 Y 轴的值。
translateZ(z)定义 3D 转化,仅使用用于 Z 轴的值。
scale3d(x,y,z)定义 3D 缩放转换。
scaleX(x)定义 3D 缩放转换,通过给定一个 X 轴的值。
scaleY(y)定义 3D 缩放转换,通过给定一个 Y 轴的值。
scaleZ(z)定义 3D 缩放转换,通过给定一个 Z 轴的值。
rotate3d(x,y,z,angle)定义 3D 旋转。
rotateX(angle)定义沿 X 轴的 3D 旋转。
rotateY(angle)定义沿 Y 轴的 3D 旋转。
rotateZ(angle)定义沿 Z 轴的 3D 旋转。
perspective(n)定义 3D 转换元素的透视视图。

1.应用在父元素上


  • 3D变换需要父元素设置样式才能保留3d的变化效果

  • 保留3D变换:transform-style: preserve-3d,默认值为flat表示不保留3D变换

  • 设置视角深度,又叫景深:perspective: 1000px 3D 元素距视图的距离,单位为px

  • 观察点位置:perspective-origin:和上面的变换中心一样,只是变成了三维的,多了一个z轴的坐标。


2.旋转

translate3d translateX translateY translateZ


  • rotate3d(x, y, z, angle):沿着x,y,z三个方向矢量值确定的坐标点旋转angle角度
  • backface-visibility 属性定义当元素旋转到背面向屏幕时是否可见,visible背面可见,hidden背面不可见
  • rotateX(angle)、rotateY(angle) 、rotateZ(angle):沿着对应轴旋转对应度数。

例子:

.item
width: 200px;
height: 300px;
border: 2px solid red;
margin: 200px auto;
background: powderblue;
transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);

效果:这个一般要配合动画才显示好的效果。

我们要知道围绕x轴、y轴、z轴是什么样的效果?在以后就不会犯迷糊了


3.位移

translate3d translateX translateY translateZ


  • translate3d(x, y, z):必须传递三个参数
  • translateX(x):为则沿着x轴向右位移,为则沿着x轴向右位移
  • translateY(y):为则沿着y轴向下位移,为则沿着y轴向上位移
  • translateZ(z):为则沿着z轴向屏幕外位移,为则沿着z轴向屏幕内位移

4.缩放

scale3d scaleX scaleY scaleZ


  • scale3d(num, num, num):必须传递三个参数
  • scaleX(x) scaleY(y) scaleZ(z),分别代表xy轴和z轴方向缩放相应的倍数。

写在最后

我觉得2D/3D还是很好玩的,能够实现很多美观的特效,尤其是和动画结合后。3D的z轴很难演示出效果,结合动画更容易体现出来。

下一篇使用3D结合一点点动画实现下图酷炫相册效果。


共勉

你必须非常努力,才能看起来毫不费力。


推荐阅读
  • 一个登陆界面
    预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 优化ASM字节码操作:简化类转换与移除冗余指令
    本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 如何在WPS Office for Mac中调整Word文档的文字排列方向
    本文将详细介绍如何使用最新版WPS Office for Mac调整Word文档中的文字排列方向。通过这些步骤,用户可以轻松更改文本的水平或垂直排列方式,以满足不同的排版需求。 ... [详细]
  • 本文将深入探讨使用IMPDP工具进行分区表导入时需要注意的事项,涵盖最佳实践和常见问题。通过详细的分析与解释,帮助读者更好地理解和应用这些知识。 ... [详细]
  • 历经三十年的开发,Mathematica 已成为技术计算领域的标杆,为全球的技术创新者、教育工作者、学生及其他用户提供了一个领先的计算平台。最新版本 Mathematica 12.3.1 增加了多项核心语言、数学计算、可视化和图形处理的新功能。 ... [详细]
author-avatar
phba
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有